package io;
import java.io.File;
import java.util.Scanner;
public class Demo12 {
    public static void main(String[] args) {
        //1让用户输入查询的文件名
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要搜索的目录");
        String dir = scanner.nextLine();
        System.out.println("请输入要查询的文件名");
        String filename = scanner.nextLine();
        //2判断目录是否存在
        File rootfile = new File(dir);
        if(!rootfile.isDirectory()){
            System.out.println("目录不存在");
            return;
        }
        //3进行搜索，递归的遍历目录中所有的文件和子目录
        search(rootfile,filename);
    }
    private static void search(File rootfile, String filename) {
        // TODO Auto-generated method stub
        //先列出目录和子目录中所有文件名
        File[] files = rootfile.listFiles();
        if(files==null){
            System.out.println("目录为空");
            return ;
        }
        //如果不为空，那就遍历files数组，判定每个数组类型
        for(File file :files){
            if(file.isDirectory()){
                search(file,filename); 
            }else if(file.isFile()){
                if(file.getName().contains(filename)){
                tryDelete(file);
                }
            }
        }
    }
    private static void tryDelete(File file) {
        System.out.println("准备删除的文件"+file.getAbsolutePath());
        Scanner scanner =new Scanner(System.in);
        System.out.println("确认删除吗？(y/n)");
        String confirm = scanner.nextLine();
        if(confirm.equals("y")){
            file.delete();
            System.out.println("删除成功");
        }
    }
}
